#app {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background-color: #282828;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.title {
  font-weight: bold;
  font-size: 40px;
  margin-bottom: 20px;
  text-align: center;
	color: #fff;
}
.score {
	font-weight: bold;
	font-size: 22px;
	margin-bottom: 20px;
	text-align: center;
	color: #fff;
}
.game {
  overflow: hidden;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
	padding: 4px;
	background-color: rgba(21,174,208,.3);
}
.game-map {
	position: relative;
	background-color: #1d3a55;
}
.game-row {
  flex: 1;
  display: flex;
  box-sizing: border-box;
}
.game-col {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
	position: relative;
}
.game-col + .game-col {
	border-left: 1px solid rgba(21,174,208,.3);
}
.game-row + .game-row .game-col {
	border-top: 1px solid rgba(21,174,208,.3);
}

.game-spirit {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
	border: 2px solid transparent;
  box-sizing: border-box;
	background-color: transparent;
	left: 0;
	top: 0;
}

.game-spirit img {
  width: 90%;
  height: 90%;
  box-sizing: border-box;
  user-select: none;
  position: relative;
  z-index: 1;
}
.game-spirit .mask {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.game-spirit.selected {
  border: 2px solid red;
	z-index: 99;
}

/* 左右 */
.leftAndRight {
	animation: leftAndRight 1s infinite linear;
}
@keyframes leftAndRight {
	0% { transform: rotateY(0deg); }
	100% { transform: rotateY(360deg); }
}
/* 上下 */
.topAndBottom {
	animation: topAndBottom 1s infinite linear;
}
@keyframes topAndBottom {
	0% { transform: rotateX(0deg); }
	100% { transform: rotateX(360deg); }
}
/* 范围 */
.roundAmazing {
	animation: roundAmazing 1s infinite linear;
}
@keyframes roundAmazing {
	0% { transform: rotateZ(0deg); }
	100% { transform: rotateZ(360deg); }
}
/* 全屏 */
.allAmazing {
	animation: allAmazing 1s infinite linear;
}
@keyframes allAmazing {
	0% { transform: scale(1); }
	25% { transform: scale(0.5); }
	50% { transform: scale(1); }
	75% { transform: scale(1.2); }
	100% { transform: scale(1); }
}